package com.example.tresenrayaandroid;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;

public class JugadorVsJugador extends Activity {

	private TextView boton1;
	private TextView boton2;
	private TextView boton3;
	private TextView boton4;
	private TextView boton5;
	private TextView boton6;
	private TextView boton7;
	private TextView boton8;
	private TextView boton9;
	private String casilla1=new String("-1");
    private String casilla2=new String("-1");
    private String casilla3=new String("-1");
    private String casilla4=new String("-1");
    private String casilla5=new String("-1");
    private String casilla6=new String("-1");
    private String casilla7=new String("-1");
    private String casilla8=new String("-1");
    private String casilla9=new String("-1");
    
    
	private TextView botonBorrar;
    private int jugador=0;
    
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_jugador_vs_jugador);
		
		 boton1= (TextView) findViewById(R.id.botton1);
		 boton2= (TextView) findViewById(R.id.botton2);
		 boton3= (TextView) findViewById(R.id.botton3);
		 boton4= (TextView) findViewById(R.id.botton4);
		 boton5= (TextView) findViewById(R.id.botton5);
		 boton6= (TextView) findViewById(R.id.botton6);
		 boton7= (TextView) findViewById(R.id.botton7);
		 boton8= (TextView) findViewById(R.id.botton8);
		 boton9= (TextView) findViewById(R.id.botton9);
		
	     botonBorrar=(TextView) findViewById(R.id.botonBorrar);
		
		boton1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
		        
				if(jugador==0 && v.isClickable()){
		        	casilla1="X";
					boton1.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla1="0";
		        	boton1.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
			}
		});
		
		boton2.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla2="X";
					boton2.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla2="0";
		        	boton2.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
				
			}
		});
		
		boton3.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla3="X";
					boton3.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla3="0";
		        	boton3.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
				
			}
		});
		
		boton4.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla4="X";
					boton4.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla4="0";
		        	boton4.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
				
			}
		});
		boton5.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla5="X";
					boton5.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla5="0";
		        	boton5.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
				
			}
		});
		
		boton6.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla6="X";
					boton6.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla6="0";
		        	boton6.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
				
			}
		});
		
		boton7.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla7="X";
					boton7.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla7="0";
		        	boton7.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
				
			}
		});
		
		boton8.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla8="X";
					boton8.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla8="0";
		        	boton8.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
				
			}
		});

		boton9.setOnClickListener(new OnClickListener() {
	
			@Override
			public void onClick(View v) {

				if(jugador==0 && v.isClickable()){
		        	casilla9="X";
					boton9.setBackgroundResource(R.drawable.imagen_equis);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==0)
		        		{
		        			ganadorJugador1();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=1;
				}
				
				else if (jugador==1 && v.isClickable()){
		        	casilla9="0";
		        	boton9.setBackgroundResource(R.drawable.imagen_circulo);
		        	v.setClickable(false);
		        	
		        	int fin= comprobarGanador();
		        	if(fin !=-1)
		        	{
		        		if(fin==1)
		        		{
		        			ganadorJugador2();
		        		}
		        		else if(fin ==2)
		        		{
		        			ganadorEmpate();
		        		}
		        	}
		        	
		        	jugador=0;
		        	
		        }
			
			}
		});
		
		botonBorrar.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				
				casilla1="-1";
				boton1.setBackgroundResource(R.drawable.imagen_blanco);
				boton1.setClickable(true);
				
				casilla2="-1";
				boton2.setBackgroundResource(R.drawable.imagen_blanco);
				boton2.setClickable(true);
		        
				casilla3="-1";
				boton3.setBackgroundResource(R.drawable.imagen_blanco);
				boton3.setClickable(true);
		        
		        casilla4="-1";
		        boton4.setBackgroundResource(R.drawable.imagen_blanco);
		        boton4.setClickable(true);
		        
		        casilla5="-1";
		        boton5.setBackgroundResource(R.drawable.imagen_blanco);
		        boton5.setClickable(true);
		        
		        casilla6="-1";
		        boton6.setBackgroundResource(R.drawable.imagen_blanco);
		        boton6.setClickable(true);
		        
		        casilla7="-1";
		        boton7.setBackgroundResource(R.drawable.imagen_blanco);
		        boton7.setClickable(true);
		        
		        casilla8="-1";
		        boton8.setBackgroundResource(R.drawable.imagen_blanco);
		        boton8.setClickable(true);
		        
		        casilla9="-1";
		        boton9.setBackgroundResource(R.drawable.imagen_blanco);
		        boton9.setClickable(true);
		        
		        jugador=0;
				
			}
		});
		
	}
		
		public int comprobarGanador(){
			

			//diagonales
			if(!this.boton1.isClickable() && !this.boton5.isClickable()  && !this.boton9.isClickable() 
	                        && this.casilla1.equals(this.casilla5) && this.casilla1.equals(this.casilla9)){
				this.fin();
				return jugador;
			}
			if(!this.boton3.isClickable() && !this.boton5.isClickable()  && !this.boton7.isClickable() 
	                && this.casilla3.equals(this.casilla5)&& this.casilla3.equals(this.casilla7)){
				
				this.fin();
				return jugador;
			}
			

			//horizontales
			if(!this.boton1.isClickable() && !this.boton2.isClickable()  && !this.boton3.isClickable() 
	                && this.casilla1.equals(this.casilla2) && this.casilla1.equals(this.casilla3)){
				
				this.fin();
				return jugador;
			}
			
			if(!this.boton4.isClickable() && !this.boton5.isClickable()  && !this.boton6.isClickable() 
					&& this.casilla4.equals(this.casilla5) && this.casilla4.equals(this.casilla6)){
		
				this.fin();
				return jugador;
			}
			
			if(!this.boton7.isClickable() && !this.boton8.isClickable()  && !this.boton9.isClickable() 
					&& this.casilla7.equals(this.casilla8) && this.casilla7.equals(this.casilla9)){
		
				this.fin();
				return jugador;
			}
			

			//verticales
			if(!this.boton1.isClickable() && !this.boton4.isClickable()  && !this.boton7.isClickable() 
					&& this.casilla1.equals(this.casilla4) && this.casilla1.equals(this.casilla7)){
		
				this.fin();
				return jugador;
			}
			
			if(!this.boton2.isClickable() && !this.boton5.isClickable()  && !this.boton8.isClickable() 
					&& this.casilla2.equals(this.casilla5) && this.casilla2.equals(this.casilla8)){
		
				this.fin();
				return jugador;
			}
			
			if(!this.boton3.isClickable() && !this.boton6.isClickable()  && !this.boton9.isClickable() 
					&& this.casilla3.equals(this.casilla6) && this.casilla3.equals(this.casilla9)){
		
				this.fin();
				return jugador;
			}
			
			//empate
			if(!this.boton1.isClickable() && !this.boton3.isClickable()  && !this.boton3.isClickable() 
					&& !this.boton4.isClickable() && !this.boton5.isClickable()  && !this.boton6.isClickable() 
					&& !this.boton7.isClickable() && !this.boton8.isClickable()  && !this.boton9.isClickable() ){
		
				this.fin();
				return 2;
			}
			
			return -1;
		
		}
		
		public void fin()
		{
			
			
			this.boton1.setClickable(false);
	        
	        this.boton2.setClickable(false);
	        
	        this.boton3.setClickable(false);
	        
	        this.boton4.setClickable(false);
	        
	        this.boton5.setClickable(false);
	        
	        this.boton6.setClickable(false);
	        
	        this.boton7.setClickable(false);
	        
	        this.boton8.setClickable(false);
	        
	        this.boton9.setClickable(false);
	        
		}
		
		public void ganadorJugador1()
		{
			Toast.makeText(this,"gana jugador 1",Toast.LENGTH_SHORT).
			show();
			
		}
		
		public void ganadorJugador2()
		{
			Toast.makeText(this,"gana jugador 2",Toast.LENGTH_SHORT).
			show();
			
		}
		
		public void ganadorEmpate()
		{
			Toast.makeText(this,"empate",Toast.LENGTH_SHORT).
			show();
			
		}
		

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.jugador_vs_jugador, menu);
		return true;
	}

}
